home *** CD-ROM | disk | FTP | other *** search
/ The Fatted Calf / The Fatted Calf.iso / Unix / CNews / Source / batch / Makefile < prev    next >
Encoding:
Makefile  |  1992-04-18  |  5.1 KB  |  175 lines

  1. # Configuration stuff.
  2. COPTS=-O
  3. CFLAGS=$(COPTS) -I../include
  4. LIBS=../libcnews.a
  5. # =()<NEWSARTS = @<NEWSARTS>@>()=
  6. NEWSARTS = /usr/spool/news
  7. # =()<NEWSBIN = @<NEWSBIN>@>()=
  8. NEWSBIN = /usr/lib/newsbin
  9. # =()<NEWSCTL = @<NEWSCTL>@>()=
  10. NEWSCTL = /usr/lib/news
  11. # workaround for System V make bug
  12. SHELL = /bin/sh
  13.  
  14. OUTGOING = $(NEWSARTS)/out.going
  15. PGMDIR = $(NEWSBIN)/batch
  16.  
  17. PGMS=batcher batchih batchsm batchsplit comp compcun nocomp viainews viauux \
  18.     sendbatches compc7 c7encode viamail viapmail bencode compb viauuxz \
  19.     viaemail viarsh viauuxl viauuxcun batchcheck batchra vianowhere \
  20.     comp12
  21. BP = batchparms.eg
  22. ALL = $(PGMS) $(BP)
  23.  
  24. all:    $(ALL)
  25.     chmod +x $(PGMS)
  26.  
  27. batcher:    batcher.o $(LIBS)
  28.     $(CC) $(CFLAGS) $(LDFLAGS) batcher.o $(PRE) $(LIBS) $(POST) -o $@
  29.  
  30. c7encode:    c7encode.o $(LIBS)
  31.     $(CC) $(CFLAGS) $(LDFLAGS) c7encode.o $(PRE) $(LIBS) $(POST) -o $@
  32.  
  33. bencode:    bencode.o crctab.o $(LIBS)
  34.     $(CC) $(CFLAGS) $(LDFLAGS) bencode.o crctab.o $(PRE) $(LIBS) $(POST) -o $@
  35.  
  36. bencode.o:    coder.h
  37.  
  38. bininstall:    $(ALL)
  39.     -if test ! -d $(PGMDIR) ; then mkdir $(PGMDIR) ; fi
  40.     cp $(PGMS) $(PGMDIR)
  41.  
  42. cmp:    $(PGMS)
  43.     for f in $(PGMS) ; do cmp $(PGMDIR)/$$f $$f ; done
  44.  
  45. check:    $(PGMS)
  46.     for f in $(PGMS) ; do cmp $(PGMDIR)/$$f $$f || true ; done
  47.  
  48. newsinstall:    $(BP)
  49.     -if test ! -d $(OUTGOING) ; then mkdir $(OUTGOING) ; fi
  50.     -if test ! -r $(NEWSCTL)/$(BP) ; then cp $(BP) $(NEWSCTL) ; fi
  51.  
  52. viauuxz:    viauux
  53.     sed '$$s/-r/-r -z/' viauux >$@
  54.  
  55. viauuxcun:    viauux
  56.     sed '$$s/rnews/cunbatch/' viauux >$@
  57.  
  58. viaemail:    viamail
  59.     sed '$$s/rnews/enews/' viamail >$@
  60.  
  61. comp12:    comp
  62.     sed '/^compress$$/s//& -b 12/' comp >$@
  63.  
  64. test.1:
  65.     echo 'a test' >$@
  66.  
  67. test.2:
  68.     echo 'another test' >$@
  69.  
  70. test.3:
  71.     cat batcher.c batcher.c batcher.c batcher.c batcher.c >$@
  72.  
  73. r:    all test.1 test.2 test.3
  74.     echo x 1 >togo
  75.     echo a 1 >>togo
  76.     echo b 1 >>togo
  77.     echo c 1 >>togo
  78.     echo d 1 >>togo
  79.     echo e 1 >>togo
  80.     echo f 1 >>togo
  81.     echo g 1 >>togo
  82.     echo h 1 >>togo
  83.     echo i 3 >>togo
  84.     echo j 20 >>togo
  85.     echo k 99999 >>togo
  86.     for f in a b c d e f g h i j k ; do >$$f ; done    # but not x
  87.     rm -rf bin togo.*
  88.     mkdir bin
  89.     echo 'ln $$* >/dev/null 2>/dev/null' >bin/newslock
  90.     echo 'cat' >bin/munch
  91.     echo "( echo --- ; cat ) >>`pwd`/output" >bin/xmit
  92.     echo 'echo 2 ; cat' >bin/munch2
  93.     echo "( echo +++ ; cat ) >>`pwd`/output2" >bin/xmit2
  94.     echo 'echo 4' >bin/queuelen
  95.     echo 'echo 99' >bin/spacefor
  96.     ln batcher bin/batcher
  97.     ln batchsplit bin/batchsplit
  98.     ln batchcheck bin/batchcheck
  99.     chmod +x bin/*
  100.     NEWSARTS=`pwd` NEWSCTL=`pwd` ./batchsplit -x 16
  101.     test ! -s togo ;
  102.     test " `wc -l <togo.next`" -eq 11 ;    # x through j
  103.     test ! -f togo.1 ;
  104.     NEWSARTS=`pwd` NEWSCTL=`pwd` ./batchsplit -x 16
  105.     test " `cat togo.1`" = " a 1" ;
  106.     test " `cat togo.2`" = " b 1" ;
  107.     test " `cat togo.3`" = " c 1" ;
  108.     test " `cat togo.4`" = " d 1" ;
  109.     test " `cat togo.5`" = " e 1" ;
  110.     test " `cat togo.6`" = " f 1" ;
  111.     test " `cat togo.7`" = " g 1" ;
  112.     echo h 1 >test.good ; echo i 3 >>test.good ; echo j 20 >>test.good
  113.     cmp test.good togo.next
  114.     echo k 99999 >test.good ; cmp test.good togo.more
  115.     test ! -s togo ;
  116.     rm togo.* [a-k]
  117.     echo `pwd`/test.1 >togo
  118.     echo ./test.2 >>togo
  119.     echo `pwd`/test.3 666 >>togo
  120.     ./batcher togo >test.out
  121.     echo "#! rnews `wc -c test.1 | awk '{print $$1}'`" >test.good
  122.     cat test.1 >>test.good
  123.     echo "#! rnews `wc -c test.2 | awk '{print $$1}'`" >>test.good
  124.     cat test.2 >>test.good
  125.     ( echo --- ; cat test.good ) >test.out1
  126.     ( echo +++ ; echo 2 ; cat test.good ) >test.out2
  127.     echo "#! rnews `wc -c test.3 | awk '{print $$1}'`" >test.temp
  128.     cat test.3 >>test.temp
  129.     cat test.temp >>test.good
  130.     ( echo --- ; cat test.temp ) >>test.out1
  131.     cmp test.good test.out
  132.     rm test.out togo
  133.     rm -rf out.going batchparms test.out test.good output output2
  134.     mkdir out.going out.going/foo out.going/bar
  135.     echo 'foo    500    10    batcher    munch    xmit' >batchparms
  136.     NEWSARTS=`pwd` NEWSCTL=`pwd` ./sendbatches -d >test.out
  137.     echo foo >test.good
  138.     cmp test.out test.good
  139.     echo '/default/    10000    5    batcher    munch2    xmit2' >>batchparms
  140.     NEWSARTS=`pwd` NEWSCTL=`pwd` ./sendbatches -d | sort >test.out
  141.     ( echo foo ; echo bar ) | sort >test.good
  142.     cmp test.out test.good
  143.     NEWSARTS=`pwd` NEWSCTL=`pwd` ./sendbatches -d bletch >test.out
  144.     echo bletch >test.good
  145.     cmp test.out test.good
  146.     >batchlog
  147.     NEWSARTS=`pwd` NEWSCTL=`pwd` ./sendbatches
  148.     test ! -s output ;
  149.     test ! -s output2 ;
  150.     echo `pwd`/test.1 200 >out.going/foo/togo
  151.     echo `pwd`/test.2 200 >>out.going/foo/togo
  152.     echo `pwd`/test.3 200 >>out.going/foo/togo
  153.     echo `pwd`/test.1 4000 >out.going/bar/togo
  154.     echo `pwd`/test.2 4000 >>out.going/bar/togo
  155.     echo `pwd`/test.3 4000 >>out.going/bar/togo
  156.     echo `pwd`/test.3 4000 >test.left
  157.     NEWSARTS=`pwd` NEWSCTL=`pwd` ./sendbatches
  158.     cmp output test.out1
  159.     cmp output2 test.out2
  160.     test ! -s out.going/foo/togo ;
  161.     test ! -s out.going/bar/togo ;
  162.     cmp test.left out.going/bar/togo.next
  163.     sed '/^$$/q' batchlog | sed '1d;$$d' | sed '$$d' >test.log
  164.     test ! -s test.log ;
  165.     sed '1,/^$$/d' batchlog | sed '1d;$$d' | sed '$$d' >test.log
  166.     echo 'bar    backlog 1 (batches flowing)' >test.good
  167.     cmp test.good test.log
  168.     rm -rf test.* togo out.going bin batchparms batchlog batchlog.*
  169.     rm -f output output2
  170.  
  171. clean:
  172.     rm -rf out.going bin
  173.     rm -f *.o test.* togo togo.* batchparms batcher viauuxcun
  174.     rm -f batchlog batchlog.* c7encode bencode viauuxz viaemail comp12
  175.